Day 2 :
介紹 :
區塊鏈透過分散的各個節點,進行資料的存取,驗證與傳遞,每個節點不需要彼此信任,也不需要仰賴第三方的中心化機構,存取在區塊鏈上的記錄,不能更改,永久保存,可追蹤,資料透明,因為這些特性漸漸很多開發者使用區塊鏈來解決「信任問題」,許多傳統的應用方法都因此起了重大的轉變。
運作 :
(1)區塊架構與鏈結
由諸多個單一的區塊,透過雜湊方法建立起鏈結關係。每一個區塊當中都包含了一些必要的資訊,主要資料(依服務方式定義),前一個區塊的雜湊值,當前區塊的雜湊值,區塊產生的時間(TimeStamp),其他資料(使用者自行添加的資料)。
圖示 :
(2)傳遞訊息與資料廣播
區塊鏈使用Peer to Peer(點對點技術),讓每個節點可以彼此交換訊息,共同參與交易驗證,每一個節點也擁有一模一樣的交易紀錄。但是Peer to Peer的架構中,會有節點不被信任的情況發生,因此區塊鏈有一個完善的運作機制,讓每個節點,可以貢獻它們的資源。
- 產生新資料的節點記錄新資料,並將新資料廣播至各個節點。
- 收到資料的節點,協助驗證資料的正確性,若資料正確,將資料儲存至當下
的區塊。
- 各個節點執行共識演算法(對相同訊息達成一致性的認同),驗證新區塊的
正確性,防止惡意行為,並將新區塊加入區塊鏈。
(3)驗證身份
區塊鏈使用公開金鑰技術來驗證身份,每個帳戶都會有一把公開金鑰(公開的)與私密金鑰(個人的),進行交易前,發送者使用私密金鑰將交易內容加密,接收者收到訊息之後,再使用發送者的公開金鑰解密交易內容,透過此技術,接收者可以驗證發送者的身份,被加密的交易內容也不會遭到竄改。
註記 : 這篇文章只是簡短的介紹了區塊鏈的概念,另外還有區塊鏈是透過Merkle的樹結構來儲存交易的龐大紀錄,共識演算法,區塊鏈種類等等的內容,在這篇簡短的介紹中就暫時不深入討論,若在之後的學習過程,有運用到相關的概念,會再提及這些概念。